1. Field of the Invention
The present invention relates to a system compressing/decompressing data, and more particularly, to system for compressing and decompressing program files, such as .EXE and .COM executable files, in which at least a portion of the header of the .EXE files is compressed in order to save storage space.
2. Description of the Prior Art
Electronically programmable memory devices, such as flash memory devices are known in the art and are typically used in computer systems for storing certain vital information, such as the basic input/output system (BIOS). Such flash memory devices normally include a protected area for storing certain vital information. Such flash memory devices normally allow for bulk erasing, although writing to said devices is done on a byte-by-byte basis. Because of the relatively high cost of such memory storage devices, data to be stored in such memory storage devices is normally stored in a compressed format.
As mentioned above, various types of vital data are stored on such flash memory devices, including .EXE files and .COM files. A .EXE file is any executable file with an extension .EXE, i.e., FIND.EXE, MSD.EXE. A .COM file is any executable file with a .COM extension, i.e., EDIT.COM, SYS.COM. Such files normally include a header portion as well as a data or code portion where either data or software program is stored.
With known data compression techniques, the data or code portion of both the .COM files, as well as the .EXE files, are compressed by various techniques. However, due to the complexity of the structure of the headers for .EXE files, the headers for such .EXE files are not compressed. As such, the .EXE file headers are stored in uncompressed format requiring additional data storage space.